{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulating an Anisotropic Grain Structure" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import fidimag\n", "from scipy.spatial import cKDTree\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set up a simple test system to show how to simulate magnetic grains which have different anisotropy orientations and strengths." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "A=1.3e-11\n", "Ms=8.6e5\n", "n = 40\n", "d = 5\n", "\n", "mesh = fidimag.common.CuboidMesh(nx=n, ny=n, nz=1, dx=d, dy=d, dz=d, unit_length=1e-9, periodicity=(True, True, False))\n", "sim = fidimag.micro.Sim(mesh, name=\"Grains\")\n", "sim.alpha = 1.0" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Create positions to be grain centres, and create a cKDTree to \n", "# perform Voronoi Tesselation\n", "np.random.seed(10)\n", "Ngrains = 15\n", "grain_centres = np.random.uniform(0, n*d, (Ngrains, 2))\n", "voronoi_kdtree = cKDTree(grain_centres)\n", "\n", "# Define Anisotropy Strength\n", "Ku = 1e6\n", "# Generate random anisotropy axes\n", "axes = np.random.uniform(-1, 1, (Ngrains, 3))\n", "# Weight them towards +z - assume grains oriented along field cooled direction\n", "axes[:, 2] += 1.0\n", "# Normalise\n", "axes /= np.linalg.norm(axes, axis=1)[:, np.newaxis]\n", "# Generate a normal distribution of anisotropy strengths:\n", "strengths = np.random.normal(Ku, Ku*0.2, Ngrains)\n", "\n", "# We then use the cKDTree in two functions. We get the x, y position\n", "# of each micromagnetic cell, and query the tree for the region that\n", "# the cell sits in. The functions then return the axis and strength\n", "# at that region index.\n", "\n", "def K_axis(pos):\n", " x, y, z = pos\n", " _, test_point_regions = voronoi_kdtree.query(np.array([[x, y]]), k=1)\n", " region = test_point_regions[0]\n", " return axes[region]\n", "\n", "def K_mag(pos):\n", " x, y, z = pos\n", " _, test_point_regions = voronoi_kdtree.query(np.array([[x, y]]), k=1)\n", " region = test_point_regions[0]\n", " return strengths[region]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "sim.set_m((0, 0, 1), normalise=True)\n", "\n", "sim.set_Ms(Ms)\n", "anisotropy = fidimag.micro.UniaxialAnisotropy(K_mag, K_axis)\n", "sim.add(anisotropy)\n", "sim.add(fidimag.micro.UniformExchange(A))\n", "sim.add(fidimag.micro.Demag(pbc_2d=True))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To check that this looks sensible, we plot the strength of the anisotropy across the whole sample in each direction:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from mpl_toolkits.axes_grid1 import ImageGrid\n", "\n", "strength_x = anisotropy._axis[0::3].reshape(n, n) * anisotropy._Ku.reshape(n, n)\n", "strength_y = anisotropy._axis[1::3].reshape(n, n) * anisotropy._Ku.reshape(n, n)\n", "strength_z = anisotropy._axis[2::3].reshape(n, n) * anisotropy._Ku.reshape(n, n)\n", "\n", "maxs = np.max([np.max(np.abs(strength_x)),\n", " np.max(np.abs(strength_y)),\n", " np.max(np.abs(strength_z))])\n", "\n", "\n", "\n", "fig = plt.figure(figsize=(5, 3))\n", "\n", "grid = ImageGrid(fig, 111, # as in plt.subplot(111)\n", " nrows_ncols=(1,3),\n", " axes_pad=0.15,\n", " share_all=True,\n", " cbar_location=\"right\",\n", " cbar_mode=\"single\",\n", " cbar_size=\"7%\",\n", " cbar_pad=0.15,\n", " )\n", "\n", "axes = [axis for axis in grid]\n", "\n", "\n", "axes[0].imshow(strength_x, origin='lower', cmap='RdBu', vmin=-maxs, vmax=maxs, extent=[0, n*d, 0, n*d])\n", "axes[1].imshow(strength_y, origin='lower', cmap='RdBu', vmin=-maxs, vmax=maxs, extent=[0, n*d, 0, n*d])\n", "im = axes[2].imshow(strength_z, origin='lower', cmap='RdBu', vmin=-maxs, vmax=maxs, extent=[0, n*d, 0, n*d])\n", "axes[2].cax.colorbar(im)\n", "axes[2].cax.toggle_label(True)\n", "\n", "axes[0].set_title(\"$K_x$\")\n", "axes[1].set_title(\"$K_y$\")\n", "axes[2].set_title(\"$K_z$\")\n", "\n", "plt.savefig(\"Anisotropy.png\", dpi=600)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that we have a granular structure in the anisotropy. We now simply relax the system and plot the magnetisation:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Done\n" ] } ], "source": [ "sim.relax(dt=1e-12, stopping_dmdt=1.0, max_steps=10000, save_vtk_steps=10, printing=False)\n", "print('Done')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fidimag.common.plot(sim, component='z')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The remanent Magnetisation in the z-direction is then:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "521197.7929881685\n" ] } ], "source": [ "remanence = np.mean(sim.spin[2::3])*Ms\n", "print(remanence)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2" } }, "nbformat": 4, "nbformat_minor": 2 }